package com.artlongs.base.vo;



/**
 * <p>返回代码封装</p>
 *
 * @author lqf
 * @since 1.0
 */
public enum BizRetCode {
    /**
     * 操作成功
     */
    SUCCESS("success", "操作成功"),
    /**
     * 操作失败
     */
    FAIL("fail", "操作失败"),

    /**
     * 用户未登录或超时退出，请重新登录
     */
    UNLOGIN("unlogin", "用户未登录或超时退出，请重新登录"),

    /**
     * 用户信息不存在
     */
    USER_NOT_EXIST("user_not_exist", "用户信息不存在"),

    /**
     * 你的手机号未验证
     */
    NOT_VERIFY_MOBILE("not_verify_mobile", "你的手机号未验证"),

    /**
     * 两次输入的密码不相同
     */
    PASSWORD_NOT_SAME("password_not_same", "两次输入的密码不相同"),

    /**
     * 邮件地址已存在
     */
    EMAIL_EXIST("email_exist", "邮件地址已存在"),

    /**
     * 手机号码已存在
     */
    MOBILE_EXIST("mobile_exist", "手机号码已存在"),

    /**
     * 验证码错误
     */
    CAPTCHACODE_NOT_RIGHT("captchacode_not_right", "验证码错误"),

    /**
     * 手机验证码已经发送
     */
    SMS_VERIFYCODE_SENDED("sms_verifycode_sended", "手机验证码已经发送"),

    /**
     * 用户名不能为空
     */
    USER_NAME_EMPTY("user_name_empty", "用户名不能为空"),

    /**
     * 密码不能为空
     */
    PASSWORD_EMPTY("password_empty", "密码不能为空"),

    /**
     * 手机不能为空
     */
    MOBILE_EMPTY("mobile_empty", "手机不能为空"),

    /**
     * 手机号码格式不正确
     */
    MOBILE_FORMAT_INVALID("mobile_not_valid", "手机号码格式不正确"),

    /**
     * Email地址格式不正确
     */
    EMAIL_FORMAT_INVALID("email_not_valid", "Email地址格式不正确"),

    /**
     * 输入的信息不正确，请重新输入。
     */
    INPUT_INFO_NOT_RIGHT("input_info_not_right", "输入的信息不正确，请重新输入。"),

    /**
     * 该账号已经注册，请登录并绑定。
     */
    ACCOUNT_EXIST_WECHAT("account_exist_wechat", "该账号已经注册，请登录并绑定。"),

    /**
     * 已到达底部。
     */
    PAGE_END("page_end", "已到达底部。"),

    /**
     * 参数错误。
     */
    PARAM_ERROR("param_error", "参数错误。"),

    /**
     * 取不出更多数据。
     */
    NO_MORE_DATA("no_more_data", "取不出更多数据。"),

    /**
     * 检查没有发现错误
     */
    NOT_ERROR("not_error", "");

    private String retCode;
    private String msg;

    private BizRetCode(String retCode, String msg) {
        this.retCode = retCode;
        this.msg = msg;
    }

    public String getRetCode() {
        return retCode;
    }

    public String getMsg() {
        return msg == null ? "" : msg;
    }

    public void setMsgParam(String paramName, String paramValue) {
        msg = msg.replaceAll("${" + paramName + "}", paramValue);
    }

    @Override
    public String toString() {
        return "{\"retCode\":\""+retCode +"\",\"msg\":\""+ msg+"\"}";
    }
}